#!/bin/bash
#写一个监控脚本监控系统的负载，并负载超过一定值得状态写入到日志文件中。

[ -d /opt/logs ] || mkdir -p /opt/logs

while :;
do
	#得到一分钟内的负载
	num=`uptime | awk -F 'load average:' '{print $2}'|cut -d ',' -f1|cut -d '.' -f1`
	if [ $num -gt 1 ];
	then
		#分别记录top,vmstat,ss的状态结果,top记录进程信息，vmstat记录虚拟内存的信息，ss记录网络信息
		top -bn1 | head -n 100 > /opt/logs/top.`date +"%s"`
		vmstat 1 10 >/opt/logs/vmstat.`date +"%s"`
		ss -an >/opt/logs/ss.`date +"%s"`
	fi

	##休眠20秒
	sleep 20

	##找到30天前的文件然后删除
	find /opt/logs \( -name "top*" -o -name "vmstat*" -o -name "ss*" \)  -mtime +30 | xargs  rm -rf
done
